#include "../header/skill.h"

const Skill& Skill::setName(const std::string& x) {
    name = x;
    return *this;
}

const Skill& Skill::setName(std::string&& x) {
    name = std::move(x);
    return *this;
}

const std::string& Skill::getName() const {
    return name;
}

const Skill& Skill::setDesc(const std::string& x) {
    desc = x;
    return *this;
}

const Skill& Skill::setDesc(std::string&& x) {
    desc = std::move(x);
    return *this;
}

const std::string& Skill::getDesc() const {
    return desc;
}

const Skill& Skill::setType(Type t) {
    type = t;
    return *this;
}

Skill::Type Skill::getType() const {
    return type;
}

Card::Type Skill::isConvert() const {
    return Card::Type::None;
}

bool Skill::isDetermine() const {
    return false;
}

const Skill &Skill::setStage(Skill::Stage s) {
    stage = s;
    return *this;
}

Skill::Stage Skill::getStage() {
    return stage;
}

const Skill &Skill::setCondition(Condition c) {
    condition = c;
    return *this;
}

Skill::Condition Skill::getCondition() {
    return condition;
}

bool Skill::isSpecifyCard(Card::Type type) const {
    return false;
}
